import SwiftUI

struct EpCard: View {
    var item:ComicEps = comiceps[0]
    var tag: String = "hot"
    @State var isPressed: Bool = false
    
    var body: some View {
        ZStack(alignment: .topTrailing) {  // 使用 ZStack 来叠加标签和卡片内容
            VStack(alignment: .center) {
                CachedImageView(imageURL: item.cover)
                    .frame(maxWidth: .infinity, maxHeight: .infinity)
                    .clipShape(RoundedRectangle(cornerRadius: 10.0))
//                    .overlay(
//                        RoundedRectangle(cornerRadius: 10.0)  // 使用相同的圆角
//                            .stroke(Color.gray, lineWidth: 1)  // 设置灰色边框和边框宽度
//                    )
                Text(item.name)
                    .font(.system(size: 16))
                    .foregroundStyle(.white)
                    .lineLimit(1)
            }
            .scaleEffect(isPressed ? 0.95 : 1)
            .simultaneousGesture(
                DragGesture(minimumDistance: 0)
                    .onChanged { _ in
                        withAnimation(.easeInOut(duration: 0.2)) {
                            isPressed = true
                        }
                    }
                    .onEnded { _ in
                        withAnimation(.easeInOut(duration: 0.2)) {
                            isPressed = false
                        }
                    }
            )
            
            // 左上角的标签部分
            if !tag.isEmpty {
                Text("\(tag)")
                    .font(.system(size: 12, weight: .medium))
                    .foregroundColor(.white)
                    .padding(.horizontal, 6)  // 调整水平 padding，增加左右间距
                    .padding(.vertical, 4)     // 调整垂直 padding，减少上下间距
                    .background(Color("MainColor"))
                    .cornerRadius(5)  // 调整圆角大小，值越小，圆角越小
                    .offset(x: -4, y: 4) // 调整标签位置，偏移到卡片的左上角
            }
        }
//        .background(Color("BgColor1"))
        .cornerRadius(10)  // 添加圆角，使卡片边角平滑
    }
}

#Preview {
    EpCard()
}
